Cấu trúc mẫu Abstract factory

Trong đó:

  • AbstractFactory: định nghĩa một giao tiếp cho thao tác khởi tạo các "sản phẩm" ảo (AbstractProduct)
  • ConcreteFactory: thực thi giao tiếp AbstractFactory để tạo ra đối tượng cụ thể
  • AbstractProduct: định nghĩa một lớp ảo cho một loại đối tượng "sản phẩm"
  • Product: kế thừa từ từ lớp "sản phẩm" ảo AbstractProduct, các lớp Product định nghĩa từ đối tượng cụ thể
  • Client: sử dụng các lớp AbstractFactory và AbstractProduct trong hệ thống